﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MyUrnaVirtual.Models;
using MyUrnaVirtual.DataRepository;

namespace MyUrnaVirtual.Controllers
{
    public class AdminCandidatosController : Controller
    {
        //
        // GET: /AdminCandidatos/
        public ActionResult Index()
        {
            return View();
        }

        public ActionResult Crear()
        {
            AdminCandidatosViewModel model = new AdminCandidatosViewModel();

            return View(model);
        }

        [HttpPost]//postback del formulario Crear . 
        public ActionResult Crear(AdminCandidatosViewModel model)
        {
            AdminCandidatosRepository.Guardar(model);

            return View("Index");
        }

        //[HttpGet] //Casi siempre, cuando tengo dos metodos que se llaman igual, con los atributos Get y Post, actuan en conjunto
        //El método que recibe el get va a dar la vista para realizar esa accion, mientras que el Post va a ejecutar los cambios


        public ActionResult Editar(int id)
        {
            AdminCandidatosViewModel model = new AdminCandidatosViewModel();
            Candidatos cand = AdminCandidatosRepository.Get(id);

            model.IdCandidato = cand.idCandidato;
            model.NombreCandidato = cand.nombre;
            model.ApellidoCandidato = cand.apellido;            

            return View(model);
        }

        [HttpPost]//postback del formulario editar. 
        public ActionResult Editar(AdminCandidatosViewModel model)
        {
            AdminCandidatosRepository.Editar(model);

            return View("Index");
        }

        
        public ActionResult Eliminar(int id)
        {
            AdminCandidatosRepository.Eliminar(id);
            return View("Index");
        }

       

    }
}